Modern vehicles are typically equipped with one or more computer systems. A vehicle computer system may simply be a processor that inputs certain signals, processes data carried by the input signals, and outputs signals that are used to control some aspect of the vehicle's use or operation. Typically, vehicle computer systems include not only a processor, but also memory or a storage device, and an output device. The output device can either be used to provide the driver with audio or visual instructions on how to operate the vehicle or may automatically control some aspect of the vehicle's operation such as the vehicle braking system, the air conditioning system or the engine.
Memory and/or storage devices associated with the vehicle store the received input and output signals. Input signals may be received from sensors which monitor the state of the vehicle. A modern automobile may have as many as 50 electronic control units (ECU) associated with vehicle sensors that monitor the function and health of the various subsystems of the vehicle. Most vehicles comprise an engine control unit. Additional electronic control units are associated with the vehicle's transmission, airbags, antilock braking, cruise control, audio systems, windows, mirror adjustment, etc. Modern vehicles are further equipped with sensors which provide data regarding the environment in which the vehicle is operating. Data provided by the sensors may be stored in the memory or storage associated with the vehicle.
In addition to sensors, the vehicle also receives input data using communications systems. Communications system may receive and transmit global positioning data and other types of data. Data and memory associated with the vehicle can be used to store the received global positioning system (GPS) data.
The combination of global positioning system data and sensor data allows the vehicle to store a “snapshot” of the current vehicle state information including vehicle sensor data, environmental sensor data and GPS data. The vehicle state information can be received and stored at different points of time providing a history of the vehicle's state information. However, even though modern vehicles have the capacity to record and use vehicle state information, this information has not been effectively used to optimize vehicle performance. Typically existing systems do provide a way to use the disparate information in a unified way. Further, historic vehicle state information is not shared by the vehicles with proximate or “neighboring” vehicles in order to collectively optimize vehicle performance.